/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package unmsm.fisi.tesis.dao;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import unmsm.fisi.tesis.coneccion.ConexionWithSQL;
import unmsm.fisi.tesis.entidad.Hallazgo;
import unmsm.fisi.tesis.entidad.Organizacion;

/**
 *
 * @author Jhon
 */
public class HallazgoDAO {
	
	public static List<Hallazgo> obtenerHallazgos() {
		
		Connection cnx = ConexionWithSQL.obtenerConexion();
		
		List<Hallazgo>  listaHallazgos= new ArrayList<Hallazgo>();
		Hallazgo myHallazgos;
			try
			{
				CallableStatement cstmt = cnx.prepareCall("{call dbo.sp_obtenerHallazgos()}");
			    ResultSet rs =  cstmt.executeQuery();
				while(rs.next())
				{
					myHallazgos= new Hallazgo();
					
					myHallazgos.setNombreCriterio(rs.getString("NOMBRECRITERIO"));
					myHallazgos.setNombreTecnico(rs.getString("NOMBRETECNICO"));
					myHallazgos.setSigla(rs.getString("SIGLACRITERIO"));
					myHallazgos.setNombre(rs.getString("NOMBREHALLAZGO"));
					myHallazgos.setNumeroHallazgo(rs.getString("NUMEROHALLAZGO"));
					myHallazgos.setSiglaOrganizacion(rs.getString("SIGLAORGANIZACION"));
					listaHallazgos.add(myHallazgos);
				}
				rs.close();
				cstmt.close();
			}
			catch(Exception e)
			{
				e.printStackTrace();
				System.out.print(e.getMessage());
				
			}finally {
				 if (cnx != null) try { cnx.close(); } catch(Exception e) {e.printStackTrace();}
	        }
			
		return listaHallazgos;
	}
	
	public static List<Hallazgo> obtenerHallazgosPorOrganizacion(String nombreOrganizacion) {
		
		Connection cnx = ConexionWithSQL.obtenerConexion();
		
		List<Hallazgo>  listaHallazgos= new ArrayList<Hallazgo>();
		Hallazgo myHallazgos;
			try
			{
				CallableStatement cstmt = cnx.prepareCall("{call dbo.sp_obtenerHallazgozPorOrganizacion(?)}");
				cstmt.setString("NOMBREORGANIZACION", nombreOrganizacion);
			    ResultSet rs =  cstmt.executeQuery();
				while(rs.next())
				{
					myHallazgos= new Hallazgo();
					
					myHallazgos.setNombreOrganizacion(rs.getString("NOMBREORGANIZACION"));
					myHallazgos.setSiglaOrganizacion(rs.getString("SIGLAORGANIZACION"));
					myHallazgos.setNumeroHallazgo(rs.getString("NUMEROHALLAZGO"));
					myHallazgos.setNombre(rs.getString("NOMBREHALLAZGO"));
					
					listaHallazgos.add(myHallazgos);
				}
				rs.close();
				cstmt.close();
			}
			catch(Exception e)
			{
				e.printStackTrace();
				System.out.print(e.getMessage());
				
			}finally {
				 if (cnx != null) try { cnx.close(); } catch(Exception e) {e.printStackTrace();}
	        }
			
		return listaHallazgos;
	}
}
